In storage devices, such as a NAND flash storage, data is written on a page level in blocks. In an example, each page has sixteen kilobytes (KB) data along with spare bytes. After chip production, some bitlines (also called bad columns) may be faulty in a block. Redundant bytes are provided to replace and fix the bad columns. Continuing with the previous example, there may be twenty-four redundant bytes per two KB of data. If there are more than twenty-four bytes bad columns in a block, the block is marked as a bad block. If there are less than twenty-four bytes bad columns, some of the redundant byte are used for fixing the bad columns. Generally in this case, however, some redundant bytes remain available.